الاستيثاق الشبكي – استخدام سامبا مع LDAP على أوبنتو
مقدمة
يُعد الاستيثاق الشبكي من العمليات الأساسية التي تُمكّن من التحقق من هوية المستخدمين في بيئات الشبكات. من خلال استخدام بروتوكولات مثل LDAP (Lightweight Directory Access Protocol) وسامبا (Samba)، يمكن توفير حلول فعّالة لربط المستخدمين بأجهزة الخوادم داخل الشبكة المحلية. في هذا المقال، سنتناول كيفية استخدام سامبا مع LDAP في بيئة أوبنتو، مع التركيز على إعداد وتشغيل الاستيثاق الشبكي بشكل مُتناسق بين هذه الأدوات.
1. فهم سامبا و LDAP
1.1 ما هو سامبا؟
سامبا هو برنامج مفتوح المصدر يتيح لك مشاركة الملفات والطابعات في شبكات Windows. يوفر أيضًا وظائف مثل الاستيثاق (authentication) والتفويض (authorization) في بيئات متعددة الأنظمة مثل لينكس و ويندوز. يعمل سامبا باستخدام بروتوكولات SMB (Server Message Block)، مما يتيح لأجهزة لينكس/يونكس التفاعل مع الأجهزة التي تعمل بأنظمة تشغيل ويندوز.
1.2 ما هو LDAP؟
LDAP هو بروتوكول مصمم للوصول إلى دليل (Directory Service) يتيح تخزين واسترجاع البيانات الموزعة حول المستخدمين، المجموعات، الأجهزة، وغيرها من الكائنات في الشبكة. يُستخدم LDAP بشكل شائع في الشبكات التي تعتمد على Active Directory أو خوادم الدليل الخاصة بأنظمة يونكس مثل OpenLDAP.
2. الفوائد الرئيسية لاستخدام سامبا مع LDAP
تكمن الفوائد الرئيسية لاستخدام سامبا مع LDAP في دمج التحكم في الوصول مع القدرة على مشاركة الملفات بين الأنظمة المتعددة. من خلال استخدام LDAP كقاعدة بيانات للمستخدمين والمجموعات، يمكن سامبا أن يتعامل مع استيثاق المستخدمين وتفويضهم بشكل مركزي. هذا يجعل من السهل إدارة الحسابات في بيئة متعددة الأنظمة.
3. إعداد سامبا مع LDAP على أوبنتو
3.1 متطلبات النظام
قبل البدء في إعداد سامبا و LDAP، يجب أن تتأكد من أنك تستخدم إصدارًا مناسبًا من أوبنتو (يُفضل أحدث الإصدارات). تأكد من أن الخادم يحتوي على متطلبات أساسية مثل:
-
أوبنتو 20.04 أو أحدث.
-
خادم LDAP مثل OpenLDAP.
-
Samba و Winbind.
3.2 إعداد خادم OpenLDAP
-
تثبيت OpenLDAP:
لتثبيت OpenLDAP على أوبنتو، قم باستخدام الأمر التالي:bashsudo apt update sudo apt install slapd ldap-utils -
إعداد OpenLDAP:
بعد التثبيت، يجب تكوين OpenLDAP باستخدام أداة dpkg-reconfigure:bashsudo dpkg-reconfigure slapdستتمكن من إدخال المعلومات المطلوبة مثل اسم النطاق و كلمة المرور للمسؤول.
-
إضافة البيانات إلى LDAP:
قم بإنشاء ملفات LDIF لإضافة بيانات المستخدمين والمجموعات. مثال لملف LDIF لإضافة مستخدم:ldifdn: uid=exampleuser,ou=users,dc=example,dc=com objectClass: inetOrgPerson uid: exampleuser cn: Example User sn: User userPassword: {SSHA}your_encrypted_passwordيمكنك إضافة هذه البيانات باستخدام الأمر:
bashldapadd -x -D "cn=admin,dc=example,dc=com" -W -f users.ldif
3.3 تثبيت وتكوين سامبا
-
تثبيت Samba:
لتثبيت سامبا على أوبنتو، استخدم الأوامر التالية:bashsudo apt install samba smbclient libnss-winbind libpam-winbind -
تعديل إعدادات Samba:
بعد تثبيت سامبا، يجب تعديل ملف التكوين smb.conf، الذي يقع عادة في /etc/samba/smb.conf. تأكد من تعديل الإعدادات لتدعم الاستيثاق باستخدام LDAP. سيكون عليك إضافة القسم التالي في الملف:ini[global] workgroup = EXAMPLE security = user passdb backend = ldapsam:ldap://localhost ldap admin dn = "cn=admin,dc=example,dc=com" ldap suffix = "dc=example,dc=com" ldap group suffix = "ou=groups" ldap user suffix = "ou=users" idmap backend = ldap:ldap://localhost winbind nss info = rfc2307 winbind use default domain = yes -
تفعيل استخدام LDAP للمصادقة:
تأكد من أن سامبا يتصل بـ LDAP للاستيثاق باستخدام إعدادات مثل passdb backend و ldap suffix كما هو موضح في التكوين السابق. -
تحديث قاعدة بيانات الحسابات:
قم بإعادة تشغيل خدمة سامبا لتطبيق التغييرات:bashsudo systemctl restart smbd
3.4 تهيئة Winbind للاستيثاق
Winbind هو مكون مهم في سامبا، يتيح لك دمج أنظمة لينكس مع Active Directory أو خوادم LDAP لتوفير خدمات الاستيثاق. تأكد من تثبيت وتفعيل خدمة Winbind على الخادم:
-
تثبيت Winbind:
bashsudo apt install winbind -
تعديل إعدادات NSS و PAM:
ستحتاج إلى تحديث NSS (Name Service Switch) و PAM (Pluggable Authentication Module) لتمكين التحقق من هوية المستخدمين عبر LDAP. قم بتعديل ملفات /etc/nsswitch.conf و /etc/pam.d/common-session لتضمين winbind في الاستيثاق:في /etc/nsswitch.conf:
bashpasswd: compat winbind group: compat winbind shadow: compat winbindفي /etc/pam.d/common-session:
bashsession required pam_winbind.so
4. اختبار التكوين
4.1 التحقق من استيثاق LDAP
يمكنك التحقق من الاتصال بـ LDAP باستخدام الأداة ldapsearch. هذا يساعدك في التأكد من أن Samba قادرة على الاتصال بـ OpenLDAP بشكل صحيح:
bashldapsearch -x -D "cn=admin,dc=example,dc=com" -W -b "dc=example,dc=com"
4.2 التحقق من مستخدمي Winbind
بعد إعداد Winbind، يمكنك التحقق من وجود مستخدمين من LDAP باستخدام الأوامر التالية:
bashwbinfo -u # لعرض قائمة بالمستخدمين
wbinfo -g # لعرض قائمة بالمجموعات
4.3 التأكد من تشغيل الخدمات
تأكد من تشغيل جميع الخدمات الضرورية مثل smbd و nmbd و winbind:
bashsudo systemctl status smbd sudo systemctl status nmbd sudo systemctl status winbind
5. مشاكل شائعة وحلولها
5.1 مشاكل الاتصال بـ LDAP
إذا لم تتمكن من الاتصال بـ LDAP، تحقق من تكوينات smb.conf وتأكد من أن الخادم OpenLDAP يعمل بشكل صحيح. تحقق من سجل الأخطاء باستخدام الأمر:
bashsudo journalctl -u smbd
5.2 مشاكل في استيثاق المستخدمين
إذا واجهت مشاكل في استيثاق المستخدمين، تأكد من أن إعدادات winbind و LDAP تتماشى مع متطلبات النظام. قد تحتاج إلى تعديل إعدادات PAM أو NSS.
6. خاتمة
يمكن أن يوفر دمج سامبا مع LDAP في أوبنتو حلاً قويًا ومرنًا لإدارة الشبكات في بيئات متعددة الأنظمة. باستخدام هذا التكوين، يمكنك الاستفادة من ميزات الاستيثاق المركزية التي يقدمها LDAP مع مرونة سامبا في بيئات Windows و Linux.

